<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml"			
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core">

	<!-- 
		Explain:
		* The contents of this simple project:
		** For this simple project, the only library we need is the JSF library. In our case this is the reference implementation "Mojarra", provided by Oracle.
		** There are other implementation available. The best known is Apache MyFaces.
		
		* How does JSF finally work?
		** The web.xml defines the faces servlet. The url pattern then defines when this facelets servlet is used. In our case for all urls ending with ".xhtml"
		** Finally the application is then deployed as a war file.
		** Usually the JSF implementation is not delivered with the war file, because usually we assume that the target runtime enviornment already supports jsf.
		** This is e.g. the case for a JEE6 application server.
		
		* xhtml file is just a properly formatted html file (regarding xml tags)
		
		* The basic elements of this simple xhtml file
		** DOCTYPE specifies the html version to be used. Many standard doctype elements are available (see http://www.w3schools.com/tags/tag_doctype.asp). In html5 it's just DOCTYPE html
		** xmlns defines the default namespace which is in our case the xhtml namespace
		** xmlns:h refers to the jsf html tags (e.g. h:body)
		** xmlns:f refers to basic jsf tags independent from html (e.g. <f:validator>)
		** xmlns:ui refers to facelets tags (e.g. ui:repeat)
		** Note that you're finally free to use other prefixes, but these ones are pretty standard
		** Defining the namespaces properly has also the advantage that code completion works in the editor.
		** (This is because the taglib specifications included in the jsf jar has the same URI like the namespace definition)
		
		* Show how this page gets renedered and also show the source code of the page sent back to the browser
	 -->

	<h:body> <!-- This tag is similar to the html body tag. In a facelets page, always use h:body. (this finally gives JSF the chance to access it programmatically  -->
		Hello world!
	</h:body>

</html>